Nginx做反向代理之后,访问项目跳转到localhost或者127.0.0.1

您所在的位置:网站首页 nginx 反代 Nginx做反向代理之后,访问项目跳转到localhost或者127.0.0.1

Nginx做反向代理之后,访问项目跳转到localhost或者127.0.0.1

#Nginx做反向代理之后,访问项目跳转到localhost或者127.0.0.1| 来源: 网络整理| 查看: 265

现象

配置了proxy_redirect off之后还会跳转到pass路由。

location / { proxy_pass http://127.0.0.1:8085; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 解决:

添加Host属性

proxy_set_header Host $http_host; 原因:

Host的含义是表明请求的主机名,因为nginx作为反向代理使用,而如果后端真实的服务器设置有类似防盗链或者根据http请求头中的host字段来进行路由或判断功能的话,如果反向代理层的nginx不重写请求头中的host字段,将会导致请求失败【默认反向代理服务器会向后端真实服务器发送请求,并且请求头中的host字段应为proxy_pass指令设置的服务器】。 如果Host请求头部没有出现在请求头中,则 h t t p h o s t 值 为 空 , 但 是 http_host值为空,但是 httph​ost值为空,但是host值为主域名。因此,一般而言,会用 h o s t 代 替 host代替 host代替http_host变量,从而避免http请求中丢失Host头部的情况下Host不被重写的失误。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3